* {
    padding: 0;
    margin: 0;
  }
  .middle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
  }
  .btn {
    display: inline-block;
    width: 80px;
    height: 80px;
    background: #f1f1f1;
    margin: 10px;
    border-radius: 30%;
    color: #3787e2;
    overflow: hidden;
    position: relative;
    box-shadow: 0 5px 15px -5px #0a0a0a;
    text-decoration: none;
  }

  .btn span {
    display: inline-block; /*transform适用于所有块级元素及某些内联元素。更改span样式，将其改为内联块状元素：*/
    font-size: 40px;
    line-height: 80px;
    transition: 0.2s linear;
  }
  .btn:hover span {
    transform: scale(1.3);
    color: #f1f1f1;
  }
  .btn::before {
    content: "";
    width: 120%;
    height: 120%;
    background: #3787e2;
    position: absolute;
    transform: rotate(45deg);
    left: -110%;
    top: 90%;
  }
  .btn:hover::before {
    animation: a 0.7s 1;
    top: -10%;
    left: -10%;
  }
  @keyframes a {
    0% {
      left: -110%;
      top: 90%;
    }
    50% {
      left: 10%;
      top: -30%;
    }
    100% {
      left: -10%;
      top: -10%;
    }
  }
  